Skip to content

fix(datagrid): keep status bar controls clear of the window resize corner (#1569)#1577

Merged
datlechin merged 1 commit into
mainfrom
fix/1569-status-bar-resize-corner
Jun 4, 2026
Merged

fix(datagrid): keep status bar controls clear of the window resize corner (#1569)#1577
datlechin merged 1 commit into
mainfrom
fix/1569-status-bar-resize-corner

Conversation

@datlechin
Copy link
Copy Markdown
Member

Fixes #1569.

Problem

The last-page pagination button, and the other trailing status bar controls, sat flush in the bottom-right window corner where macOS reserves a 19x19pt live-resize grip. Hovering showed the diagonal resize cursor and the click resized the window instead of activating the button.

Fix

  • Inset the status bar so its controls clear the resize corner: trailing 20pt (the macOS content-margin convention, clears the ~10pt grip reach), plus a leading 8pt for balance.
  • Add a divider above the status bar so it reads as separate from the data grid.

Status bar cleanup (same area)

  • VoiceOver now has explicit labels for the Columns button, the Filters toggle (with a selected trait), and the loading indicators.
  • The custom rows-per-page popover now anchors to the page-size menu instead of the center of the pagination controls.
  • The loading spinner uses the same control size as the rest of the bar.
  • The column visibility popover header is now localizable.

Refactor

  • Moved StatusBarSnapshot to Models/Query (Foundation only). It now carries the pagination-visibility predicates, and the row-info text formatting lives in a view-layer extension.
  • Collapsed MainStatusBarView's 21-parameter initializer into three callback/state bundles.
  • Made the structure-footer inputs non-optional (they are never nil in production) and removed duplicated helpers and section comments.

Tests

  • Added StatusBarSnapshotTests covering the row-info text branches and the pagination-visibility predicates.
  • The resize-corner inset is layout-only. A UI test asserting the button is inset from the window corner needs database-fixture infrastructure that TableProUITests does not have yet, so it is not included.

Verify when running

The custom rows-per-page popover opens from a menu item. Confirm it presents; it anchors to a stable zero-size overlay on the page-size button.

@datlechin datlechin merged commit 1c5d3d2 into main Jun 4, 2026
4 of 5 checks passed
@datlechin datlechin deleted the fix/1569-status-bar-resize-corner branch June 4, 2026 16:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bottom right corner last page button and resize icon optimization

1 participant